package com.ccnf.model.entity;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ccnf.core.group.Insert;
import com.ccnf.core.group.Update;
import com.ccnf.model.enums.AuthStatusEnum;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.Null;
import java.io.Serializable;

/**
 * <p>
 * 邀请函信息表
 * </p>
 *
 * @author developer
 * @since 2019-02-26
 */
@Data
@ApiModel(value="Invitation对象", description="邀请函信息表")
public class Invitation implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "邀请函ID", hidden = true)
    @Null(message = "为空", groups = {Insert.class, Update.class})
    @JsonProperty("invitationId")
    @TableId(type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "展会ID", hidden = true)
    @Null(message = "为空", groups = {Insert.class, Update.class})
    @JsonIgnore
    private Long expoId;

    @ApiModelProperty("模板")
    @Excel(name = "模板类型")
    private Integer demo;

    @ApiModelProperty(value = "展位编号")
    @Excel(name = "展位编号")
    private String boothNo;

    @ApiModelProperty("展馆")
    @Excel(name = "展馆")
    private String exhibition;

    @ApiModelProperty(value = "企业名称")
    @Excel(name = "企业名称")
    private String companyName;

    @ApiModelProperty(value = "企业logo")
    @Excel(name = "企业logo")
    private String companyLogo;

    @ApiModelProperty(value = "企业简介")
    @Excel(name = "企业简介")
    private String companyIntro;

    @ApiModelProperty(value = "企业图片")
    @Excel(name = "企业多图数组")
    private String companyPic;

    @ApiModelProperty(value = "企业联系")
    @Excel(name = "企业联系信息")
    private String companyContact;

    @ApiModelProperty(value = "企业二维码")
    @Excel(name = "企业二维码")
    private String companyCode;

    @ApiModelProperty("手机号")
    private String phone;

    @ApiModelProperty("标识")
    @Excel(name = "标识")
    private Integer extendFlag;

    @ApiModelProperty(value = "创建时间", hidden = true)
    @Null(message = "为空", groups = {Insert.class, Update.class})
    private Long createTime;

    @ApiModelProperty(value = "更新时间", hidden = true)
    @Null(message = "为空", groups = {Insert.class, Update.class})
    private Long updateTime;

    @ApiModelProperty(value = "是否授权", hidden = true)
    @Null(message = "为空", groups = {Insert.class, Update.class})
    @JsonIgnore
    private AuthStatusEnum authStatus;
}